The calculateMPG() method can not use the parameters of the constructor.
In fact, the calculateMPG() method can not even see the parameters
of the constructor.
Another way of saying this is that the scope of
the parameters is limited to the body of the method.
The compiler will complain that first, last,
and gals are "undefined variables"
because they are used outside of their scope.
Look back to the
complete program
to see the correct method.
class Car
{
// instance variables
double startMiles; // Stating odometer reading
double endMiles; // Ending odometer reading
double gallons; // Gallons of gas used between the readings
// constructor
Car( double first, double last, double gals )
{
startMiles = first ;
endMiles = last ;
gallons = gals ;
}
// methods
double calculateMPG()
{
return (last - first)/gals ; // WRONG, WRONG, WRONG
}
}
class MilesPerGallon
{
public static void main( String[] args )
{
Car car = new Car( 32456, 32810, 10.6 );
System.out.println( "Miles per gallon is " + car.calculateMPG() );
}
}
Are you about out of gas?